package tables

type AmsClient struct {
	Id         int64  `json:"id,string" gorm:"primaryKey;comment:'设备id'"`
	UniqueCode string `json:"uniqueCode"`

	AssetCode       string `json:"assetCode"`
	IP              string `json:"ip"`
	ActiveMAC       string `json:"activeMAC,omitempty"`
	BiosSerial      string `json:"biosSerial"`
	MainBoardSerial string `json:"mainBoardSerial,omitempty"`
	HardDiskSerial  string `json:"hardDiskSerial,omitempty"`
	Hostname        string `json:"hostname"`
	CreatedAt       int64  `json:"createdAt,string" gorm:"autoCreateTime"`
	UpdatedAt       int64  `json:"updatedAt,string" gorm:"autoUpdateTime"`

	MapSimilarity string `json:"mapSimilarity"` // 映射异常设备id
}

func (t *AmsClient) TableName() string {
	return "ams_client"
}

// AmsClientAbnormal 可能存在问题的客户端
type AmsClientAbnormal struct {
	Id            int64  `json:"id,string" gorm:"primaryKey"`
	UniqueForNow  string `json:"uniqueForNow"` // 当前实时计算的结果
	UniqueForDB   string `json:"uniqueForDB"`
	UniqueForFile string `json:"uniqueForFile"`

	AssetCode       string `json:"assetCode"`
	IP              string `json:"ip"`
	ActiveMAC       string `json:"activeMAC,omitempty"`
	BiosSerial      string `json:"biosSerial"`
	MainBoardSerial string `json:"mainBoardSerial,omitempty"`
	HardDiskSerial  string `json:"hardDiskSerial,omitempty"`
	Hostname        string `json:"hostname"`
	CreatedAt       int64  `json:"createdAt,string" gorm:"autoCreateTime"`
	UpdatedAt       int64  `json:"updatedAt,string" gorm:"autoUpdateTime"`

	MapSimilarity string `json:"mapSimilarity"` // 映射异常设备id
}

func (t *AmsClientAbnormal) TableName() string {
	return "ams_client_abnormal"
}
